Known wireless fire detection systems can include a large number of system devices that are part of a mesh network and need upgrading from time to time. It is known to upgrade the firmware in the system devices via a master device, for example, a gateway device, sending a firmware file for firmware data of a firmware upgrade to a slave device, for example, a first of the system devices. After the firmware upgrade is complete at the first of the system devices, the gateway device can initiate the firmware grade with a second of the system devices and so forth.
For example, FIG. 1 is a block diagram of a wireless fire detection system 100 known in the art. As seen in FIG. 1, the single master device, the gateway device 110, seeds the firmware upgrade for each of the system devices 120 in the system 100, and the firmware upgrade is performed at each of the system devices 120 one at a time. Accordingly, the system devices 120 must wait to receive the firmware upgrade from the master device 110. Although FIG. 1 shows the gateway device 110 directly connected to each of the system devices 120, it is to be understood that data from the master device 110 can be routed to a target device of the system devices 120 via intermediate devices of the system devices 120 if the target device is not a direct child device of the gateway device 110.
Known systems and methods to can take a long time upgrade the firmware in the system devices when there are a large number of system devices because the system devices are upgraded one at a time. Even context switching in known systems and methods can take a long time because after the firmware upgrade of the first of the system devices is complete, the gateway device must terminate a connection with the first of the system devices and initiate a handshake with the second of the system devices to initiate the firmware upgrade with the second of the system devices. Furthermore, if the firmware upgrade fails, known systems and methods must restart the firmware upgrade from the beginning.
To implement known systems and methods to upgrade the firmware in the system devices, each microcontroller or programmable processor in one of the system devices that requires the firmware upgrade must include a separate boot loader. For example, FIG. 2 is a block diagram of the system device 120 with a primary microcontroller 122 and a secondary microcontroller 124 known in the art. When both the primary microcontroller 122 and the secondary microcontroller 124 require the firmware upgrade from a gateway device 110, each of the primary microcontroller 122 and the secondary microcontroller 124 requires a respective boot loader 123, 125 as seen in FIG. 2. Furthermore, inter-processor communication (IPC) between the primary microcontroller 122 and the secondary microcontroller 124 must be secured. The entire configuration of such known systems and methods can require more time to upgrade the firmware of the secondary microcontroller 124.
In view of the above, there is a continuing, ongoing need for improved systems and methods.